oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

Oracle SecureFile的功能第1/4页

来源:网络整理  作者:网络  发布时间:2020-12-12 16:40
Oracle SecureFile的功能...
  l_clob CLOB := RPAD('X', 10000, 'X');

  ◆NEVER - 不允许创建SecureFile LOB对象。

  COMMIT;

  System altered.
  LOB(clob_data) STORE AS BASICFILE;
  END LOOP;

LOB重复消除

  ------------------------------ ----------
  COLUMN segment_name FORMAT A30
  INSERT INTO bf_tab VALUES (1, 'My CLOB data');

  创建SecureFile LOB

  FROM user_segments

  ◆PERMITTED - 默认设置,当使用了SECUREFILE关键字时它允许SecureFile LOB存储格式,默认存储方法是BASICFILE。

  END LOOP;
  CREATE TABLE bf_tab (
  CREATE TABLE sf_tab (
  /
  CREATE TABLE deduplicate_tab (
  COMMIT;

  ◆IGNORE - 防止创建SecureFile LOB,使用SecureFile存储选项时忽略所有错误。

  COMMIT;

  注意重复消除段要小很多,空间节约依赖于LOB段内的重复程度,重复模式可以使用ALTER TABLE命令进行重新设置。
  SQL> ALTER SYSTEM SET db_securefile = 'PERMITTED';
  SQL>

SecureFile功能是oracle 11g中对大对象(LOB)存储格式的完全重新设计实现,原来的LOB存储格式现在通称为BASIXFILE,它仍然是默认的存储方法,但是SECURFILE关键字开启了新的存储方法,它允许加密、利用压缩节约空间和数据重复消除。

  初始化参数

  SecureFile LOB通过在LOB存储子句后添加SECUREFILE关键字来创建,下面的代码显示创建了两个表,第一个使用的是原来的存储格式,第二个使用的是SecureFile存储格式。

  ◆ FORCE - 所有LOB对象都以SecureFile LOB格式创建,如果是在一个非ASSM表空间中创建LOB,会出现错误,在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。

  INSERT INTO sf_tab VALUES (1, 'My CLOB data');
  DECLARE
  DEDUPLICATE

  INSERT INTO deduplicate_tab VALUES (i, l_clob);
  )
  );

  ◆ALWAYS - 在ASSM表空间中的所有LOB对象以SecureFile LOB的格式创建,在非ASSM表空间中的所有LOB对象以BasicFile LOB的格式创建(除非明确地指出要以SecureFile格式创建),在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。

  基础

  clob_data CLOB
  FOR i IN 1 .. 1000 LOOP
  BEGIN
  )
  EXEC DBMS_STATS.gather_table_stats(USER, 'keep_duplicates_tab');
  id NUMBER,
  System altered.
  id NUMBER,

  这个参数是动态的,因此它可以使用ALTER SYSTEM命令设置。

  EXEC DBMS_STATS.gather_table_stats(USER, 'deduplicate_tab');
  FOR i IN 1 .. 1000 LOOP
  DEDUP_LOB 262144
  SELECT segment_name, bytes
  KEEP_DUPLICATES
  2 rows selected.

  clob_data CLOB
  INSERT INTO keep_duplicates_tab VALUES (i, l_clob);


  id NUMBER,
  COMMIT;
  WHERE segment_name IN ('KEEPDUP_LOB', 'DEDUP_LOB');

  SecureFile的DEDUPLICATE选项允许在表或分区一级上的一个LOB内消除重复数据,正如你预料的那样,这个技术与预防重写导致系统开销增大,KEEP_DUPLICATE选项明确地阻止重复消除,下面的例子对比了普通的SecureFile和重复消除SecureFile的空间使用情况。


  END;
  SQL> ALTER SYSTEM SET db_securefile = 'FORCE';
  id NUMBER,

  )

  SecureFile功能在初始化参数COMPATIBLE设置我11.0.0.0.0或更高时可用。

  下面的例子假设DB_SECUREFILE初始化参数设置为默认值PERMITTED。

  LOB(clob_data) STORE AS SECUREFILE dedup_lob (
  KEEPDUP_LOB 19267584
  CREATE TABLE keep_duplicates_tab (
  );
  )


  SEGMENT_NAME BYTES

  DB_SECUREFILE初始化参数控制数据库对LOB存储格式的默认行为,允许的值有:

  SQL>

  clob_data CLOB
  LOB(clob_data) STORE AS SECUREFILE keepdup_lob(
  LOB(clob_data) STORE AS SECUREFILE;
  clob_data CLOB

相关热词: 功能 oracle

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/oracle/2991.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Oracle SecureFile的功能第1/4页

2020-12-12 编辑:网络

  l_clob CLOB := RPAD('X', 10000, 'X');

  ◆NEVER - 不允许创建SecureFile LOB对象。

  COMMIT;

  System altered.
  LOB(clob_data) STORE AS BASICFILE;
  END LOOP;

LOB重复消除

  ------------------------------ ----------
  COLUMN segment_name FORMAT A30
  INSERT INTO bf_tab VALUES (1, 'My CLOB data');

  创建SecureFile LOB

  FROM user_segments

  ◆PERMITTED - 默认设置,当使用了SECUREFILE关键字时它允许SecureFile LOB存储格式,默认存储方法是BASICFILE。

  END LOOP;
  CREATE TABLE bf_tab (
  CREATE TABLE sf_tab (
  /
  CREATE TABLE deduplicate_tab (
  COMMIT;

  ◆IGNORE - 防止创建SecureFile LOB,使用SecureFile存储选项时忽略所有错误。

  COMMIT;

  注意重复消除段要小很多,空间节约依赖于LOB段内的重复程度,重复模式可以使用ALTER TABLE命令进行重新设置。
  SQL> ALTER SYSTEM SET db_securefile = 'PERMITTED';
  SQL>

SecureFile功能是oracle 11g中对大对象(LOB)存储格式的完全重新设计实现,原来的LOB存储格式现在通称为BASIXFILE,它仍然是默认的存储方法,但是SECURFILE关键字开启了新的存储方法,它允许加密、利用压缩节约空间和数据重复消除。

  初始化参数

  SecureFile LOB通过在LOB存储子句后添加SECUREFILE关键字来创建,下面的代码显示创建了两个表,第一个使用的是原来的存储格式,第二个使用的是SecureFile存储格式。

  ◆ FORCE - 所有LOB对象都以SecureFile LOB格式创建,如果是在一个非ASSM表空间中创建LOB,会出现错误,在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。

  INSERT INTO sf_tab VALUES (1, 'My CLOB data');
  DECLARE
  DEDUPLICATE

  INSERT INTO deduplicate_tab VALUES (i, l_clob);
  )
  );

  ◆ALWAYS - 在ASSM表空间中的所有LOB对象以SecureFile LOB的格式创建,在非ASSM表空间中的所有LOB对象以BasicFile LOB的格式创建(除非明确地指出要以SecureFile格式创建),在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。

  基础

  clob_data CLOB
  FOR i IN 1 .. 1000 LOOP
  BEGIN
  )
  EXEC DBMS_STATS.gather_table_stats(USER, 'keep_duplicates_tab');
  id NUMBER,
  System altered.
  id NUMBER,

  这个参数是动态的,因此它可以使用ALTER SYSTEM命令设置。

  EXEC DBMS_STATS.gather_table_stats(USER, 'deduplicate_tab');
  FOR i IN 1 .. 1000 LOOP
  DEDUP_LOB 262144
  SELECT segment_name, bytes
  KEEP_DUPLICATES
  2 rows selected.

  clob_data CLOB
  INSERT INTO keep_duplicates_tab VALUES (i, l_clob);


  id NUMBER,
  COMMIT;
  WHERE segment_name IN ('KEEPDUP_LOB', 'DEDUP_LOB');

  SecureFile的DEDUPLICATE选项允许在表或分区一级上的一个LOB内消除重复数据,正如你预料的那样,这个技术与预防重写导致系统开销增大,KEEP_DUPLICATE选项明确地阻止重复消除,下面的例子对比了普通的SecureFile和重复消除SecureFile的空间使用情况。


  END;
  SQL> ALTER SYSTEM SET db_securefile = 'FORCE';
  id NUMBER,

  )

  SecureFile功能在初始化参数COMPATIBLE设置我11.0.0.0.0或更高时可用。

  下面的例子假设DB_SECUREFILE初始化参数设置为默认值PERMITTED。

  LOB(clob_data) STORE AS SECUREFILE dedup_lob (
  KEEPDUP_LOB 19267584
  CREATE TABLE keep_duplicates_tab (
  );
  )


  SEGMENT_NAME BYTES

  DB_SECUREFILE初始化参数控制数据库对LOB存储格式的默认行为,允许的值有:

  SQL>

  clob_data CLOB
  LOB(clob_data) STORE AS SECUREFILE keepdup_lob(
  LOB(clob_data) STORE AS SECUREFILE;
  clob_data CLOB

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/oracle/2991.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页